#ifndef __BEEP_H_
#define __BEEP_H_

#include "tim.h"

// 配置使用的定时器和通道（可根据需要修改）
#define PWM_TIM_HANDLE    &htim2       // 定时器句柄
#define PWM_CHANNEL       TIM_CHANNEL_1  // PWM通道


void play_dji_powerup_tone(void);

// 低音区 (C2-B2)
#define NOTE_C2  3816   // 65.41 Hz
#define NOTE_CS2 3608   // 69.30 Hz
#define NOTE_D2  3405   // 73.42 Hz
#define NOTE_DS2 3214   // 77.78 Hz
#define NOTE_E2  3034   // 82.41 Hz
#define NOTE_F2  2863   // 87.31 Hz
#define NOTE_FS2 2703   // 92.50 Hz
#define NOTE_G2  2551   // 98.00 Hz
#define NOTE_GS2 2408   // 103.83 Hz
#define NOTE_A2  2273   // 110.00 Hz
#define NOTE_AS2 2145   // 116.54 Hz
#define NOTE_B2  2025   // 123.47 Hz

// 中音区 (C3-B3)
#define NOTE_C3  1908   // 130.81 Hz
#define NOTE_CS3 1804   // 138.59 Hz
#define NOTE_D3  1703   // 146.83 Hz
#define NOTE_DS3 1607   // 155.56 Hz
#define NOTE_E3  1517   // 164.81 Hz
#define NOTE_F3  1432   // 174.61 Hz
#define NOTE_FS3 1351   // 185.00 Hz
#define NOTE_G3  1276   // 196.00 Hz
#define NOTE_GS3 1204   // 207.65 Hz
#define NOTE_A3  1136   // 220.00 Hz
#define NOTE_AS3 1072   // 233.08 Hz
#define NOTE_B3  1012   // 246.94 Hz

// 高音区 (C4-B4，包含中央C)
#define NOTE_C4  955    // 261.63 Hz (中央C)
#define NOTE_CS4 902    // 277.18 Hz
#define NOTE_D4  851    // 293.66 Hz
#define NOTE_DS4 804    // 311.13 Hz
#define NOTE_E4  758    // 329.63 Hz
#define NOTE_F4  716    // 349.23 Hz
#define NOTE_FS4 676    // 369.99 Hz
#define NOTE_G4  638    // 392.00 Hz
#define NOTE_GS4 602    // 415.30 Hz
#define NOTE_A4  568    // 440.00 Hz (标准A音)
#define NOTE_AS4 536    // 466.16 Hz
#define NOTE_B4  506    // 493.88 Hz

// 超高音区 (C5-B5)
#define NOTE_C5  477    // 523.25 Hz
#define NOTE_CS5 451    // 554.37 Hz
#define NOTE_D5  426    // 587.33 Hz
#define NOTE_DS5 402    // 622.25 Hz
#define NOTE_E5  379    // 659.25 Hz
#define NOTE_F5  358    // 698.46 Hz
#define NOTE_FS5 338    // 739.99 Hz
#define NOTE_G5  319    // 783.99 Hz
#define NOTE_GS5 301    // 830.61 Hz
#define NOTE_A5  284    // 880.00 Hz
#define NOTE_AS5 268    // 932.33 Hz
#define NOTE_B5  253    // 987.77 Hz

// 超高音区扩展 (C6及以上)
#define NOTE_C6   238    // 1046.50 Hz
#define NOTE_CS6  225    // 1108.73 Hz
#define NOTE_D6   213    // 1174.66 Hz
#define NOTE_DS6  201    // 1244.51 Hz
#define NOTE_E6   190    // 1318.51 Hz
#define NOTE_F6   179    // 1396.91 Hz
#define NOTE_FS6  169    // 1479.98 Hz
#define NOTE_G6   159    // 1567.98 Hz
#define NOTE_GS6  151    // 1661.22 Hz
#define NOTE_A6   142    // 1760.00 Hz
#define NOTE_AS6  134    // 1864.66 Hz
#define NOTE_B6   127    // 1975.53 Hz

// 休止符 (无声音)
#define REST     0      // 静音

void PWM_HAL_Set_Tone(uint16_t tone);
void PWM_HAL_Play_Note(uint16_t note);
void PWM_HAL_Stop(void);
void PWM_HAL_Set_Duty(uint8_t duty);
void play_dji_powerup_tone(void);

#endif 